草庐IT

c++ - c++14中std::string的运算符后缀

全部标签

c++ - 为什么 std::vector::at() 即使启用了优化也需要边界检查?

Windows中的libstdc++-6.dll有问题。这段代码:#include#includeintmain(){std::vectorx(10);std::cout编译很好,但是当我运行它时,我收到一条错误消息说Theprocedureentrypoint_ZSt24__throw_out_of_range_fmtPKczcouldnotbelocatedinthedlllibstdc++-6.dll我的问题是不是如何解决这个问题(这很可能是dll的错误版本,我只需要修复PATH)。然而,这让我意识到了一些意想不到的事情:当我打开优化时,上面的代码运行良好(不管错误的dll),即

Windows 上的 C++ std::string 转换问题

这是我的程序:boolOpen(std::stringfilename){...HANDLEhFile=CreateFile(filename.c_str(),GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,0,NULL);...}错误:“CreateFileW”:无法将参数1从“constchar*”转换为“LPCWSTR”指向的类型是不相关的;转换需要reinterpret_cast,C风格的转换或函数风格的转换问题出在哪里? 最佳答案 std::string由一个char数组组成

windows - 无法为 "14/1033/styles/Themable/corev4.css"创建缓存安全 URL,找不到文件。请验证该文件是否存在于 layouts 目录下

这是2013Sharepoint服务器。采取的步骤1)文件存在于以下位置C:\ProgramFiles\CommonFiles\microsoftshared\WebServerExtensions\14\TEMPLATE\LAYOUTS\1033\STYLES\corev4.cssC:\ProgramFiles\CommonFiles\microsoftshared\WebServerExtensions\14\TEMPLATE\LAYOUTS\1033\STYLES\Themable\corev4.css2)语言包已经正确安装3)增量抓取已设置为仅限周末4)IIS重置暂时解决了这个

c++ - 如何在 Windows 中重定向 std::cout 和 printf

我已经根据这篇文章创建了程序CreatingaChildProcesswithRedirectedInputandOutput,但它对std::cout和printf不起作用,所以从这样的程序中我得到了一个“你好,妈妈”字符串,而cout和printf部分没有任何结果:int_tmain(intargc,_TCHAR*argv[]){HANDLEhStdOut=GetStdHandle(STD_OUTPUT_HANDLE);constchar*buffer="Hello,momma";std::cout问:我如何拦截cout和printf?我无权访问子程序的源代码,我只需要拦截它的输出

c++ - 如何在 OSX 上通过 vswprintf 格式化宽字符字符串(想要返回 std::wstring)

我需要实现一个函数来格式化宽字符字符串并返回std::wstring。我的实现是:std::wstringformat(constwchar_t*fmt,...){std::wstringret;va_listva;va_start(va,fmt);intsize=vswprintf(nullptr,0,fmt,va);if(size>0){ret.resize(size+1);vswprintf(&ret[0],size+1,fmt,va);}va_end(va);returnret;}它在windows上运行良好,但不幸的是它在osx上不起作用,因为vswprintf(nullpt

c++ - 使用 stringstream::imbue 和自定义全局运算符 new 调试断言失败

对于这个相当本地化的问题,我深表歉意,但我希望得到其他人的看法,以确保我没有做明显错误的事情。我相信我在VisualC++运行时库或Microsoft的std::stringstream实现中的某处遇到了错误。该问题仅在以下情况下出现:imbue()被调用以更改stringstream上的语言环境,并且使用了一个自定义的全局operatornew,它返回一个指针偏移量,该指针与用于分配block的malloc()返回的基址相距。我已经能够使用以下最小测试用例重现此内容:#includestaticvoid*localMalloc(size_tbytes){unsignedchar*pt

windows - ISE 设计套件 14.7 : ISE® Spartan®-6 Virtual Machine (VM) for Windows 10

我在Windows10上安装了XilinxISE14.7。当我尝试打开ProjectNavigator时,它会在Linux虚拟机(VM)中打开。这意味着Xilinxsetup在windows10中安装了VM环境。是否可以在Windows10而不是VM环境中安装ISEDesignSuit。 最佳答案 在我们研究细节之前......重要的是要知道Spartan3或6或ISE开发现在对Xilinx来说都是历史/遗产......他们仍然可以在他们的网站上下载-但不要不再积极维护其中任何一个。Xilinx有两个版本的ISE14.7可供下载1.

java - 来自 hell 的幻影文件夹(旧的 Vista 安装)导致 Java String.equals() 问题

我正在编写一个搜索计算机目录的程序。在我自己的计算机上,我安装了一个以前启动WindowsVista的驱动器。(但是,有些驱动器即使在“显示隐藏文件夹”时也不会出现。我可以看到运行cmd的文件夹,但这并不能解决我的问题。)我不太关心文件夹,但我关心的是对它们的名称进行字符串比较。但是,当我使用Filedirectory.getName()获取它们的名称时,string.equals()和string.compareTo()不适用于这些幻影文件夹。我已经打印出名称、检查空格、使用修剪等。但是名为“Boot”的隐藏文件夹仍然无法与具有相同值的字符串匹配。TLDR:幻影目录返回一个与File

windows - 使用 boost::filesystem::path 作为 std::map 中的键

所以std::map想要对键类型进行排序,但我遇到了问题:"a/b""a/b"如何规范化路径以创建排序?这可能吗?我尝试在自定义比较运算符中使用path::generic_string(),但没有成功。fs::equivalent()也无济于事,因为实现平等对于std::map来说还不够,它需要一个排序。这也是为什么这个问题不是HowdoI"normalize"apathnameusingboost::filesystem?的重复问题的原因。.上下文:仅限Windows,Boost1.49,文件系统3。 最佳答案 要使路径具有可比性

c++ - 使用平假名将 std::wstring 转换为 QString

我正在尝试将包含平假名的文本从wstring转换为QString,以便它可以用于标签的文本属性。但是,我的代码无法正常工作,我不确定这是为什么。下面的转换方式明显告诉我我做错了:std::wstringmyWString=L"SomeHiragana:あいうえお";ui->label->setText(QString::fromStdWString(myWString));输出:一些平假名:ã‚ã„ã†ãˆãŠ如果我直接把它们放在字符串中,我可以在标签上打印平假名:ui->label->setText("SomeHiragana:あいうえお");输出:一些平假名:あいうえお这意味着我可